import { NgModule } from '@angular/core';
import {CommonModule, PercentPipe} from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { IrrigatedTypePipe, SearchMaintainComponent } from './search-maintain.component';
import { NgZorroAntdModule } from 'ng-zorro-antd';
import { MtIrrigatedComponent } from './mt-irrigated/mt-irrigated.component';
import { MtMngBureauComponent } from './mt-mng-bureau/mt-mng-bureau.component';
import { MtMngStationComponent } from './mt-mng-station/mt-mng-station.component';
import { MtInletGateComponent } from './mt-inlet-gate/mt-inlet-gate.component';
import { MtControlGateComponent } from './mt-control-gate/mt-control-gate.component';
import { MtReturnGateComponent } from './mt-return-gate/mt-return-gate.component';
import { MtStraightGateComponent } from './mt-straight-gate/mt-straight-gate.component';
import { MtPumpStationComponent } from './mt-pump-station/mt-pump-station.component';
import { MtSmallPumpStComponent } from './mt-small-pump-st/mt-small-pump-st.component';
import { MtMainCanalComponent } from './mt-main-canal/mt-main-canal.component';
import { MtMainSubCanalComponent } from './mt-main-sub-canal/mt-main-sub-canal.component';
import { MtSubCanalComponent } from './mt-sub-canal/mt-sub-canal.component';
import { MtCulvertComponent } from './mt-culvert/mt-culvert.component';
import { NgxEchartsModule } from 'ngx-echarts';
import { MtAqueductComponent } from './mt-aqueduct/mt-aqueduct.component';
import { MtDropComponent } from './mt-drop/mt-drop.component';
import { MtOverflowWeirComponent } from './mt-overflow-weir/mt-overflow-weir.component';
import { MtBridgeComponent } from './mt-bridge/mt-bridge.component';
import { MtDrainComponent } from './mt-drain/mt-drain.component';
import { MtSectionComponent } from './mt-section/mt-section.component';
import { MtWellComponent } from './mt-well/mt-well.component';
import { MtFloodComponent } from './mt-flood/mt-flood.component';
import { MtFloodDetentionComponent } from './mt-flood-detention/mt-flood-detention.component';
import { ComponentsModule } from "../../components/components.module";
import {SearchMaintainService} from "./search-maintain.service";

@NgModule({
    declarations: [
        SearchMaintainComponent,
        IrrigatedTypePipe,
        MtIrrigatedComponent,
        MtMngBureauComponent,
        MtMngStationComponent,
        MtInletGateComponent,
        MtControlGateComponent,
        MtReturnGateComponent,
        MtStraightGateComponent,
        MtPumpStationComponent,
        MtSmallPumpStComponent,
        MtMainCanalComponent,
        MtMainSubCanalComponent,
        MtSubCanalComponent,
        MtCulvertComponent,
        MtAqueductComponent,
        MtDropComponent,
        MtOverflowWeirComponent,
        MtBridgeComponent,
        MtDrainComponent,
        MtSectionComponent,
        MtWellComponent,
        MtFloodComponent,
        MtFloodDetentionComponent
    ],
    imports: [
        CommonModule,
        FormsModule,
        ReactiveFormsModule,
        NgZorroAntdModule,
        NgxEchartsModule,
        ComponentsModule
    ],
    entryComponents: [
        MtIrrigatedComponent,
        MtMngBureauComponent,
        MtMngStationComponent,
        MtInletGateComponent,
        MtControlGateComponent,
        MtReturnGateComponent,
        MtStraightGateComponent,
        MtPumpStationComponent,
        MtSmallPumpStComponent,
        MtMainCanalComponent,
        MtMainSubCanalComponent,
        MtSubCanalComponent,
        MtCulvertComponent,
        MtAqueductComponent,
        MtDropComponent,
        MtOverflowWeirComponent,
        MtBridgeComponent,
        MtDrainComponent,
        MtSectionComponent,
        MtWellComponent,
        MtFloodComponent,
        MtFloodDetentionComponent
    ],
    providers: [
        PercentPipe,
        SearchMaintainService
    ]
})
export class SearchMaintainModule {
}
